iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0

3. views/

功能:
此目錄包含前端的 QWeb XML 文件,負責定義用戶界面的佈局和顯示。通過這些文件,系統能將模型中的數據展示給用戶,並定義用戶如何與系統進行交互。

範例實作:

<odoo>
    <record id="view_custom_model_form" model="ir.ui.view">
        <field name="name">custom.model.form</field>
        <field name="model">custom.model</field>
        <field name="arch" type="xml">
            <form string="Custom Model">
                <group>
                    <field name="name"/>
                    <field name="description"/>
                </group>
            </form>
        </field>
    </record>

    <record id="action_custom_model" model="ir.actions.act_window">
        <field name="name">Custom Model</field>
        <field name="res_model">custom.model</field>
        <field name="view_mode">tree,form</field>
    </record>
</odoo>

這段 XML 定義了一個表單視圖,展示 custom.model 的資料,並且允許用戶在前端與資料互動。

4. security/

功能:
此目錄包含定義資料訪問權限的文件,如 ACL(訪問控制列表)。這些文件用於確保不同的用戶角色只能查看和操作他們有權限的資料。

範例實作:
ir.model.access.csv 文件定義了用戶對模型的訪問權限:

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_custom_model_user,access.custom.model,model_custom_model,base.group_user,1,1,1,0

這表示一般用戶(base.group_user)對於 custom.model 有讀取、創建、寫入的權限,但無法刪除資料。

5. data/

功能:
此目錄通常包含初始數據或配置數據,通常以 XML 格式儲存。這些數據可以在模組安裝時自動載入,設置預設值或建立一些必須的記錄。

範例實作:

<odoo>
    <record id="custom_model_data_1" model="custom.model">
        <field name="name">Sample Data 1</field>
        <field name="description">This is the first piece of sample data.</field>
    </record>

    <record id="custom_model_data_2" model="custom.model">
        <field name="name">Sample Data 2</field>
        <field name="description">This is the second piece of sample data.</field>
    </record>
</odoo>

這段 XML 文件會在模組安裝時建立兩筆樣本數據。


模組的實作流程:

  1. 設置 __manifest__.py:確保模組的元數據和依賴項正確定義。
  2. 創建模型(models/:定義數據結構和業務邏輯。
  3. 設計視圖(views/:編寫前端界面的佈局和行為。
  4. 定義安全性(security/:根據不同的角色定義訪問權限。
  5. 添加初始數據(data/:提供必要的數據或設定。

這樣可以確保模組的每一個部分都相互協調,並在系統中正確運行。

這樣就完成了介紹odoo的模組結構啦!🌟


上一篇
DAY6常用模組結構
下一篇
DAY8繼承與覆蓋模型方法
系列文
「Odoo 解構:開源 ERP 平台的進階設計與實踐」13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言